package com.gitee.wsl.prism4j.annotations

@Retention(AnnotationRetention.SOURCE)
@Target(AnnotationTarget.CLASS)
annotation class PrismBundle(
    /**
     * Array of languages to be included in final bundle. Please do not use aliases but _real_ language names.
     * For example `markup` instead of `svg` (as there is no `svg` language` defined)
     * since 1.1.0 provides default value because of the [.includeAll] option
     */
    val include: Array<String> = [],
    /**
     * Specifies the name of generated GrammarLocator. Can be fully qualified name (with package info:
     * `my.package.MyGrammarLocator`) or a simple name (starting with a dot `.MyGrammarLocator`) to
     * place generated class in the same package as annotated element
     *
     * @since 1.1.0 (previously just `name`)
     */
    val grammarLocatorClassName: String = ".GrammarLocatorDef",
    /**
     * Argument to include all _currently_ supported languages. Please note that if this option is
     * true, then [.include] values won\'t be considered
     *
     * @since 1.1.0
     */
    val includeAll: Boolean = false
)
